package com.itheima.myreflect2.Student.sreatmdemo;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.stream.Stream;

/**
 * @program: Myset
 * @description:
 * @author: xuejingjing
 * @create: 2021-06-12 23:33
 **/
public class Mystream2 {
    public static void main(String[] args) {
        //单列集合
        method1();

        //双列集合
        method2();

        //数组
        method3();

        //同种数据类型的多个数据
        method4();

    }

    private static void method4() {
        Stream.of(1,2,3,4,5,6,7,9,8).forEach(s-> System.out.println(s));
    }

    private static void method3() {
        int[] arr ={1,7,3,2,9};
        Arrays.stream(arr).forEach(s -> System.out.println(s));
    }

    private static void method2() {
        HashMap<String,Integer> hm = new HashMap<>();
        hm.put("zhangsan",23);
        hm.put("lisi",24);
        hm.put("wangwu",25);
        hm.put("zhaoliu",23);
        hm.put("hou",28);
        hm.put("shi",29);

        //双列集合不能直接获取stream流
        //keySet,
        //先获取到所有的键
        //再把这个set集合中所有的键放到Stream中

        hm.keySet().stream().forEach(s -> System.out.println(s));

        //entrySet
        //先获取到所有的键值对对象
        //再把这个Set集合中所有的键值对对象放到stream流中。
        hm.entrySet().stream().forEach(s -> System.out.println(s));
    }

    private static void method1() {
        //单列集合
        ArrayList<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");

        list.stream().forEach(s -> System.out.println(s) );
    }
}
